function slugify(str)
    -- 将字符串转换为小写
    str = str:lower()

    -- 替换特殊字符为空格
    str = str:gsub("[^%w%s-]", "")

    -- 将空格和下划线替换为短横线
    str = str:gsub("[%s_]+", "-")

    -- 移除开头和结尾的短横线
    str = str:gsub("^%-+", ""):gsub("%-+$", "")

    -- 移除多余的连续短横线
    str = str:gsub("%-+", "-")

    return str
end

return {
    slugify = slugify
}

